package com.fc.v2.model.auto;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import cn.hutool.core.util.StrUtil;

/**
 * 用户表 SysUserExample
 * @author Archie_自动生成
 * @date 2021-12-06 15:38:28
 */
public class SysUserExample {

    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SysUserExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }
        
				
        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }
        
				
        public Criteria andUsernameIsNull() {
            addCriterion("username is null");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNotNull() {
            addCriterion("username is not null");
            return (Criteria) this;
        }

        public Criteria andUsernameEqualTo(String value) {
            addCriterion("username =", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotEqualTo(String value) {
            addCriterion("username <>", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThan(String value) {
            addCriterion("username >", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("username >=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThan(String value) {
            addCriterion("username <", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThanOrEqualTo(String value) {
            addCriterion("username <=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLike(String value) {
            addCriterion("username like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotLike(String value) {
            addCriterion("username not like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameIn(List<String> values) {
            addCriterion("username in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotIn(List<String> values) {
            addCriterion("username not in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameBetween(String value1, String value2) {
            addCriterion("username between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotBetween(String value1, String value2) {
            addCriterion("username not between", value1, value2, "username");
            return (Criteria) this;
        }
        
				
        public Criteria andPasswordIsNull() {
            addCriterion("password is null");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNotNull() {
            addCriterion("password is not null");
            return (Criteria) this;
        }

        public Criteria andPasswordEqualTo(String value) {
            addCriterion("password =", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotEqualTo(String value) {
            addCriterion("password <>", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThan(String value) {
            addCriterion("password >", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("password >=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThan(String value) {
            addCriterion("password <", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThanOrEqualTo(String value) {
            addCriterion("password <=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLike(String value) {
            addCriterion("password like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotLike(String value) {
            addCriterion("password not like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordIn(List<String> values) {
            addCriterion("password in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotIn(List<String> values) {
            addCriterion("password not in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordBetween(String value1, String value2) {
            addCriterion("password between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotBetween(String value1, String value2) {
            addCriterion("password not between", value1, value2, "password");
            return (Criteria) this;
        }
        
				
        public Criteria andNicknameIsNull() {
            addCriterion("nickname is null");
            return (Criteria) this;
        }

        public Criteria andNicknameIsNotNull() {
            addCriterion("nickname is not null");
            return (Criteria) this;
        }

        public Criteria andNicknameEqualTo(String value) {
            addCriterion("nickname =", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameNotEqualTo(String value) {
            addCriterion("nickname <>", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameGreaterThan(String value) {
            addCriterion("nickname >", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameGreaterThanOrEqualTo(String value) {
            addCriterion("nickname >=", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameLessThan(String value) {
            addCriterion("nickname <", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameLessThanOrEqualTo(String value) {
            addCriterion("nickname <=", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameLike(String value) {
            addCriterion("nickname like", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameNotLike(String value) {
            addCriterion("nickname not like", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameIn(List<String> values) {
            addCriterion("nickname in", values, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameNotIn(List<String> values) {
            addCriterion("nickname not in", values, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameBetween(String value1, String value2) {
            addCriterion("nickname between", value1, value2, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameNotBetween(String value1, String value2) {
            addCriterion("nickname not between", value1, value2, "nickname");
            return (Criteria) this;
        }
        
				
        public Criteria andDepIdIsNull() {
            addCriterion("dep_id is null");
            return (Criteria) this;
        }

        public Criteria andDepIdIsNotNull() {
            addCriterion("dep_id is not null");
            return (Criteria) this;
        }

        public Criteria andDepIdEqualTo(Integer value) {
            addCriterion("dep_id =", value, "depId");
            return (Criteria) this;
        }

        public Criteria andDepIdNotEqualTo(Integer value) {
            addCriterion("dep_id <>", value, "depId");
            return (Criteria) this;
        }

        public Criteria andDepIdGreaterThan(Integer value) {
            addCriterion("dep_id >", value, "depId");
            return (Criteria) this;
        }

        public Criteria andDepIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("dep_id >=", value, "depId");
            return (Criteria) this;
        }

        public Criteria andDepIdLessThan(Integer value) {
            addCriterion("dep_id <", value, "depId");
            return (Criteria) this;
        }

        public Criteria andDepIdLessThanOrEqualTo(Integer value) {
            addCriterion("dep_id <=", value, "depId");
            return (Criteria) this;
        }

        public Criteria andDepIdLike(Integer value) {
            addCriterion("dep_id like", value, "depId");
            return (Criteria) this;
        }

        public Criteria andDepIdNotLike(Integer value) {
            addCriterion("dep_id not like", value, "depId");
            return (Criteria) this;
        }

        public Criteria andDepIdIn(List<Integer> values) {
            addCriterion("dep_id in", values, "depId");
            return (Criteria) this;
        }

        public Criteria andDepIdNotIn(List<Integer> values) {
            addCriterion("dep_id not in", values, "depId");
            return (Criteria) this;
        }

        public Criteria andDepIdBetween(Integer value1, Integer value2) {
            addCriterion("dep_id between", value1, value2, "depId");
            return (Criteria) this;
        }

        public Criteria andDepIdNotBetween(Integer value1, Integer value2) {
            addCriterion("dep_id not between", value1, value2, "depId");
            return (Criteria) this;
        }
        
				
        public Criteria andPosIdIsNull() {
            addCriterion("pos_id is null");
            return (Criteria) this;
        }

        public Criteria andPosIdIsNotNull() {
            addCriterion("pos_id is not null");
            return (Criteria) this;
        }

        public Criteria andPosIdEqualTo(String value) {
            addCriterion("pos_id =", value, "posId");
            return (Criteria) this;
        }

        public Criteria andPosIdNotEqualTo(String value) {
            addCriterion("pos_id <>", value, "posId");
            return (Criteria) this;
        }

        public Criteria andPosIdGreaterThan(String value) {
            addCriterion("pos_id >", value, "posId");
            return (Criteria) this;
        }

        public Criteria andPosIdGreaterThanOrEqualTo(String value) {
            addCriterion("pos_id >=", value, "posId");
            return (Criteria) this;
        }

        public Criteria andPosIdLessThan(String value) {
            addCriterion("pos_id <", value, "posId");
            return (Criteria) this;
        }

        public Criteria andPosIdLessThanOrEqualTo(String value) {
            addCriterion("pos_id <=", value, "posId");
            return (Criteria) this;
        }

        public Criteria andPosIdLike(String value) {
            addCriterion("pos_id like", value, "posId");
            return (Criteria) this;
        }

        public Criteria andPosIdNotLike(String value) {
            addCriterion("pos_id not like", value, "posId");
            return (Criteria) this;
        }

        public Criteria andPosIdIn(List<String> values) {
            addCriterion("pos_id in", values, "posId");
            return (Criteria) this;
        }

        public Criteria andPosIdNotIn(List<String> values) {
            addCriterion("pos_id not in", values, "posId");
            return (Criteria) this;
        }

        public Criteria andPosIdBetween(String value1, String value2) {
            addCriterion("pos_id between", value1, value2, "posId");
            return (Criteria) this;
        }

        public Criteria andPosIdNotBetween(String value1, String value2) {
            addCriterion("pos_id not between", value1, value2, "posId");
            return (Criteria) this;
        }
        
				
        public Criteria andUserNationIsNull() {
            addCriterion("user_nation is null");
            return (Criteria) this;
        }

        public Criteria andUserNationIsNotNull() {
            addCriterion("user_nation is not null");
            return (Criteria) this;
        }

        public Criteria andUserNationEqualTo(String value) {
            addCriterion("user_nation =", value, "userNation");
            return (Criteria) this;
        }

        public Criteria andUserNationNotEqualTo(String value) {
            addCriterion("user_nation <>", value, "userNation");
            return (Criteria) this;
        }

        public Criteria andUserNationGreaterThan(String value) {
            addCriterion("user_nation >", value, "userNation");
            return (Criteria) this;
        }

        public Criteria andUserNationGreaterThanOrEqualTo(String value) {
            addCriterion("user_nation >=", value, "userNation");
            return (Criteria) this;
        }

        public Criteria andUserNationLessThan(String value) {
            addCriterion("user_nation <", value, "userNation");
            return (Criteria) this;
        }

        public Criteria andUserNationLessThanOrEqualTo(String value) {
            addCriterion("user_nation <=", value, "userNation");
            return (Criteria) this;
        }

        public Criteria andUserNationLike(String value) {
            addCriterion("user_nation like", value, "userNation");
            return (Criteria) this;
        }

        public Criteria andUserNationNotLike(String value) {
            addCriterion("user_nation not like", value, "userNation");
            return (Criteria) this;
        }

        public Criteria andUserNationIn(List<String> values) {
            addCriterion("user_nation in", values, "userNation");
            return (Criteria) this;
        }

        public Criteria andUserNationNotIn(List<String> values) {
            addCriterion("user_nation not in", values, "userNation");
            return (Criteria) this;
        }

        public Criteria andUserNationBetween(String value1, String value2) {
            addCriterion("user_nation between", value1, value2, "userNation");
            return (Criteria) this;
        }

        public Criteria andUserNationNotBetween(String value1, String value2) {
            addCriterion("user_nation not between", value1, value2, "userNation");
            return (Criteria) this;
        }
        
				
        public Criteria andUserSexIsNull() {
            addCriterion("user_sex is null");
            return (Criteria) this;
        }

        public Criteria andUserSexIsNotNull() {
            addCriterion("user_sex is not null");
            return (Criteria) this;
        }

        public Criteria andUserSexEqualTo(Integer value) {
            addCriterion("user_sex =", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexNotEqualTo(Integer value) {
            addCriterion("user_sex <>", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexGreaterThan(Integer value) {
            addCriterion("user_sex >", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_sex >=", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexLessThan(Integer value) {
            addCriterion("user_sex <", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexLessThanOrEqualTo(Integer value) {
            addCriterion("user_sex <=", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexLike(Integer value) {
            addCriterion("user_sex like", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexNotLike(Integer value) {
            addCriterion("user_sex not like", value, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexIn(List<Integer> values) {
            addCriterion("user_sex in", values, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexNotIn(List<Integer> values) {
            addCriterion("user_sex not in", values, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexBetween(Integer value1, Integer value2) {
            addCriterion("user_sex between", value1, value2, "userSex");
            return (Criteria) this;
        }

        public Criteria andUserSexNotBetween(Integer value1, Integer value2) {
            addCriterion("user_sex not between", value1, value2, "userSex");
            return (Criteria) this;
        }
        
				
        public Criteria andUserBirthIsNull() {
            addCriterion("user_birth is null");
            return (Criteria) this;
        }

        public Criteria andUserBirthIsNotNull() {
            addCriterion("user_birth is not null");
            return (Criteria) this;
        }

        public Criteria andUserBirthEqualTo(Date value) {
            addCriterion("user_birth =", value, "userBirth");
            return (Criteria) this;
        }

        public Criteria andUserBirthNotEqualTo(Date value) {
            addCriterion("user_birth <>", value, "userBirth");
            return (Criteria) this;
        }

        public Criteria andUserBirthGreaterThan(Date value) {
            addCriterion("user_birth >", value, "userBirth");
            return (Criteria) this;
        }

        public Criteria andUserBirthGreaterThanOrEqualTo(Date value) {
            addCriterion("user_birth >=", value, "userBirth");
            return (Criteria) this;
        }

        public Criteria andUserBirthLessThan(Date value) {
            addCriterion("user_birth <", value, "userBirth");
            return (Criteria) this;
        }

        public Criteria andUserBirthLessThanOrEqualTo(Date value) {
            addCriterion("user_birth <=", value, "userBirth");
            return (Criteria) this;
        }

        public Criteria andUserBirthLike(Date value) {
            addCriterion("user_birth like", value, "userBirth");
            return (Criteria) this;
        }

        public Criteria andUserBirthNotLike(Date value) {
            addCriterion("user_birth not like", value, "userBirth");
            return (Criteria) this;
        }

        public Criteria andUserBirthIn(List<Date> values) {
            addCriterion("user_birth in", values, "userBirth");
            return (Criteria) this;
        }

        public Criteria andUserBirthNotIn(List<Date> values) {
            addCriterion("user_birth not in", values, "userBirth");
            return (Criteria) this;
        }

        public Criteria andUserBirthBetween(Date value1, Date value2) {
            addCriterion("user_birth between", value1, value2, "userBirth");
            return (Criteria) this;
        }

        public Criteria andUserBirthNotBetween(Date value1, Date value2) {
            addCriterion("user_birth not between", value1, value2, "userBirth");
            return (Criteria) this;
        }
        
				
        public Criteria andUserTypeIsNull() {
            addCriterion("user_type is null");
            return (Criteria) this;
        }

        public Criteria andUserTypeIsNotNull() {
            addCriterion("user_type is not null");
            return (Criteria) this;
        }

        public Criteria andUserTypeEqualTo(String value) {
            addCriterion("user_type =", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotEqualTo(String value) {
            addCriterion("user_type <>", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeGreaterThan(String value) {
            addCriterion("user_type >", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeGreaterThanOrEqualTo(String value) {
            addCriterion("user_type >=", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeLessThan(String value) {
            addCriterion("user_type <", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeLessThanOrEqualTo(String value) {
            addCriterion("user_type <=", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeLike(String value) {
            addCriterion("user_type like", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotLike(String value) {
            addCriterion("user_type not like", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeIn(List<String> values) {
            addCriterion("user_type in", values, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotIn(List<String> values) {
            addCriterion("user_type not in", values, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeBetween(String value1, String value2) {
            addCriterion("user_type between", value1, value2, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotBetween(String value1, String value2) {
            addCriterion("user_type not between", value1, value2, "userType");
            return (Criteria) this;
        }
        
				
        public Criteria andUserTitleIsNull() {
            addCriterion("user_title is null");
            return (Criteria) this;
        }

        public Criteria andUserTitleIsNotNull() {
            addCriterion("user_title is not null");
            return (Criteria) this;
        }

        public Criteria andUserTitleEqualTo(String value) {
            addCriterion("user_title =", value, "userTitle");
            return (Criteria) this;
        }

        public Criteria andUserTitleNotEqualTo(String value) {
            addCriterion("user_title <>", value, "userTitle");
            return (Criteria) this;
        }

        public Criteria andUserTitleGreaterThan(String value) {
            addCriterion("user_title >", value, "userTitle");
            return (Criteria) this;
        }

        public Criteria andUserTitleGreaterThanOrEqualTo(String value) {
            addCriterion("user_title >=", value, "userTitle");
            return (Criteria) this;
        }

        public Criteria andUserTitleLessThan(String value) {
            addCriterion("user_title <", value, "userTitle");
            return (Criteria) this;
        }

        public Criteria andUserTitleLessThanOrEqualTo(String value) {
            addCriterion("user_title <=", value, "userTitle");
            return (Criteria) this;
        }

        public Criteria andUserTitleLike(String value) {
            addCriterion("user_title like", value, "userTitle");
            return (Criteria) this;
        }

        public Criteria andUserTitleNotLike(String value) {
            addCriterion("user_title not like", value, "userTitle");
            return (Criteria) this;
        }

        public Criteria andUserTitleIn(List<String> values) {
            addCriterion("user_title in", values, "userTitle");
            return (Criteria) this;
        }

        public Criteria andUserTitleNotIn(List<String> values) {
            addCriterion("user_title not in", values, "userTitle");
            return (Criteria) this;
        }

        public Criteria andUserTitleBetween(String value1, String value2) {
            addCriterion("user_title between", value1, value2, "userTitle");
            return (Criteria) this;
        }

        public Criteria andUserTitleNotBetween(String value1, String value2) {
            addCriterion("user_title not between", value1, value2, "userTitle");
            return (Criteria) this;
        }
        
				
        public Criteria andUserExpertiseIsNull() {
            addCriterion("user_expertise is null");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseIsNotNull() {
            addCriterion("user_expertise is not null");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseEqualTo(String value) {
            addCriterion("user_expertise =", value, "userExpertise");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseNotEqualTo(String value) {
            addCriterion("user_expertise <>", value, "userExpertise");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseGreaterThan(String value) {
            addCriterion("user_expertise >", value, "userExpertise");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseGreaterThanOrEqualTo(String value) {
            addCriterion("user_expertise >=", value, "userExpertise");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseLessThan(String value) {
            addCriterion("user_expertise <", value, "userExpertise");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseLessThanOrEqualTo(String value) {
            addCriterion("user_expertise <=", value, "userExpertise");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseLike(String value) {
            addCriterion("user_expertise like", value, "userExpertise");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseNotLike(String value) {
            addCriterion("user_expertise not like", value, "userExpertise");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseIn(List<String> values) {
            addCriterion("user_expertise in", values, "userExpertise");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseNotIn(List<String> values) {
            addCriterion("user_expertise not in", values, "userExpertise");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseBetween(String value1, String value2) {
            addCriterion("user_expertise between", value1, value2, "userExpertise");
            return (Criteria) this;
        }

        public Criteria andUserExpertiseNotBetween(String value1, String value2) {
            addCriterion("user_expertise not between", value1, value2, "userExpertise");
            return (Criteria) this;
        }
        
				
        public Criteria andUserEducationIsNull() {
            addCriterion("user_education is null");
            return (Criteria) this;
        }

        public Criteria andUserEducationIsNotNull() {
            addCriterion("user_education is not null");
            return (Criteria) this;
        }

        public Criteria andUserEducationEqualTo(String value) {
            addCriterion("user_education =", value, "userEducation");
            return (Criteria) this;
        }

        public Criteria andUserEducationNotEqualTo(String value) {
            addCriterion("user_education <>", value, "userEducation");
            return (Criteria) this;
        }

        public Criteria andUserEducationGreaterThan(String value) {
            addCriterion("user_education >", value, "userEducation");
            return (Criteria) this;
        }

        public Criteria andUserEducationGreaterThanOrEqualTo(String value) {
            addCriterion("user_education >=", value, "userEducation");
            return (Criteria) this;
        }

        public Criteria andUserEducationLessThan(String value) {
            addCriterion("user_education <", value, "userEducation");
            return (Criteria) this;
        }

        public Criteria andUserEducationLessThanOrEqualTo(String value) {
            addCriterion("user_education <=", value, "userEducation");
            return (Criteria) this;
        }

        public Criteria andUserEducationLike(String value) {
            addCriterion("user_education like", value, "userEducation");
            return (Criteria) this;
        }

        public Criteria andUserEducationNotLike(String value) {
            addCriterion("user_education not like", value, "userEducation");
            return (Criteria) this;
        }

        public Criteria andUserEducationIn(List<String> values) {
            addCriterion("user_education in", values, "userEducation");
            return (Criteria) this;
        }

        public Criteria andUserEducationNotIn(List<String> values) {
            addCriterion("user_education not in", values, "userEducation");
            return (Criteria) this;
        }

        public Criteria andUserEducationBetween(String value1, String value2) {
            addCriterion("user_education between", value1, value2, "userEducation");
            return (Criteria) this;
        }

        public Criteria andUserEducationNotBetween(String value1, String value2) {
            addCriterion("user_education not between", value1, value2, "userEducation");
            return (Criteria) this;
        }
        
				
        public Criteria andUserAcademicDegreeIsNull() {
            addCriterion("user_academic_degree is null");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeIsNotNull() {
            addCriterion("user_academic_degree is not null");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeEqualTo(String value) {
            addCriterion("user_academic_degree =", value, "userAcademicDegree");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeNotEqualTo(String value) {
            addCriterion("user_academic_degree <>", value, "userAcademicDegree");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeGreaterThan(String value) {
            addCriterion("user_academic_degree >", value, "userAcademicDegree");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeGreaterThanOrEqualTo(String value) {
            addCriterion("user_academic_degree >=", value, "userAcademicDegree");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeLessThan(String value) {
            addCriterion("user_academic_degree <", value, "userAcademicDegree");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeLessThanOrEqualTo(String value) {
            addCriterion("user_academic_degree <=", value, "userAcademicDegree");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeLike(String value) {
            addCriterion("user_academic_degree like", value, "userAcademicDegree");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeNotLike(String value) {
            addCriterion("user_academic_degree not like", value, "userAcademicDegree");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeIn(List<String> values) {
            addCriterion("user_academic_degree in", values, "userAcademicDegree");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeNotIn(List<String> values) {
            addCriterion("user_academic_degree not in", values, "userAcademicDegree");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeBetween(String value1, String value2) {
            addCriterion("user_academic_degree between", value1, value2, "userAcademicDegree");
            return (Criteria) this;
        }

        public Criteria andUserAcademicDegreeNotBetween(String value1, String value2) {
            addCriterion("user_academic_degree not between", value1, value2, "userAcademicDegree");
            return (Criteria) this;
        }
        
				
        public Criteria andUserAddressIsNull() {
            addCriterion("user_address is null");
            return (Criteria) this;
        }

        public Criteria andUserAddressIsNotNull() {
            addCriterion("user_address is not null");
            return (Criteria) this;
        }

        public Criteria andUserAddressEqualTo(String value) {
            addCriterion("user_address =", value, "userAddress");
            return (Criteria) this;
        }

        public Criteria andUserAddressNotEqualTo(String value) {
            addCriterion("user_address <>", value, "userAddress");
            return (Criteria) this;
        }

        public Criteria andUserAddressGreaterThan(String value) {
            addCriterion("user_address >", value, "userAddress");
            return (Criteria) this;
        }

        public Criteria andUserAddressGreaterThanOrEqualTo(String value) {
            addCriterion("user_address >=", value, "userAddress");
            return (Criteria) this;
        }

        public Criteria andUserAddressLessThan(String value) {
            addCriterion("user_address <", value, "userAddress");
            return (Criteria) this;
        }

        public Criteria andUserAddressLessThanOrEqualTo(String value) {
            addCriterion("user_address <=", value, "userAddress");
            return (Criteria) this;
        }

        public Criteria andUserAddressLike(String value) {
            addCriterion("user_address like", value, "userAddress");
            return (Criteria) this;
        }

        public Criteria andUserAddressNotLike(String value) {
            addCriterion("user_address not like", value, "userAddress");
            return (Criteria) this;
        }

        public Criteria andUserAddressIn(List<String> values) {
            addCriterion("user_address in", values, "userAddress");
            return (Criteria) this;
        }

        public Criteria andUserAddressNotIn(List<String> values) {
            addCriterion("user_address not in", values, "userAddress");
            return (Criteria) this;
        }

        public Criteria andUserAddressBetween(String value1, String value2) {
            addCriterion("user_address between", value1, value2, "userAddress");
            return (Criteria) this;
        }

        public Criteria andUserAddressNotBetween(String value1, String value2) {
            addCriterion("user_address not between", value1, value2, "userAddress");
            return (Criteria) this;
        }
        
				
        public Criteria andUserPhoneIsNull() {
            addCriterion("user_phone is null");
            return (Criteria) this;
        }

        public Criteria andUserPhoneIsNotNull() {
            addCriterion("user_phone is not null");
            return (Criteria) this;
        }

        public Criteria andUserPhoneEqualTo(Integer value) {
            addCriterion("user_phone =", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotEqualTo(Integer value) {
            addCriterion("user_phone <>", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneGreaterThan(Integer value) {
            addCriterion("user_phone >", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_phone >=", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneLessThan(Integer value) {
            addCriterion("user_phone <", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneLessThanOrEqualTo(Integer value) {
            addCriterion("user_phone <=", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneLike(Integer value) {
            addCriterion("user_phone like", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotLike(Integer value) {
            addCriterion("user_phone not like", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneIn(List<Integer> values) {
            addCriterion("user_phone in", values, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotIn(List<Integer> values) {
            addCriterion("user_phone not in", values, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneBetween(Integer value1, Integer value2) {
            addCriterion("user_phone between", value1, value2, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotBetween(Integer value1, Integer value2) {
            addCriterion("user_phone not between", value1, value2, "userPhone");
            return (Criteria) this;
        }
        
				
        public Criteria andUserBankCardIsNull() {
            addCriterion("user_bank_card is null");
            return (Criteria) this;
        }

        public Criteria andUserBankCardIsNotNull() {
            addCriterion("user_bank_card is not null");
            return (Criteria) this;
        }

        public Criteria andUserBankCardEqualTo(Integer value) {
            addCriterion("user_bank_card =", value, "userBankCard");
            return (Criteria) this;
        }

        public Criteria andUserBankCardNotEqualTo(Integer value) {
            addCriterion("user_bank_card <>", value, "userBankCard");
            return (Criteria) this;
        }

        public Criteria andUserBankCardGreaterThan(Integer value) {
            addCriterion("user_bank_card >", value, "userBankCard");
            return (Criteria) this;
        }

        public Criteria andUserBankCardGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_bank_card >=", value, "userBankCard");
            return (Criteria) this;
        }

        public Criteria andUserBankCardLessThan(Integer value) {
            addCriterion("user_bank_card <", value, "userBankCard");
            return (Criteria) this;
        }

        public Criteria andUserBankCardLessThanOrEqualTo(Integer value) {
            addCriterion("user_bank_card <=", value, "userBankCard");
            return (Criteria) this;
        }

        public Criteria andUserBankCardLike(Integer value) {
            addCriterion("user_bank_card like", value, "userBankCard");
            return (Criteria) this;
        }

        public Criteria andUserBankCardNotLike(Integer value) {
            addCriterion("user_bank_card not like", value, "userBankCard");
            return (Criteria) this;
        }

        public Criteria andUserBankCardIn(List<Integer> values) {
            addCriterion("user_bank_card in", values, "userBankCard");
            return (Criteria) this;
        }

        public Criteria andUserBankCardNotIn(List<Integer> values) {
            addCriterion("user_bank_card not in", values, "userBankCard");
            return (Criteria) this;
        }

        public Criteria andUserBankCardBetween(Integer value1, Integer value2) {
            addCriterion("user_bank_card between", value1, value2, "userBankCard");
            return (Criteria) this;
        }

        public Criteria andUserBankCardNotBetween(Integer value1, Integer value2) {
            addCriterion("user_bank_card not between", value1, value2, "userBankCard");
            return (Criteria) this;
        }
        
				
        public Criteria andUserBankAddressIsNull() {
            addCriterion("user_bank_address is null");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressIsNotNull() {
            addCriterion("user_bank_address is not null");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressEqualTo(String value) {
            addCriterion("user_bank_address =", value, "userBankAddress");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressNotEqualTo(String value) {
            addCriterion("user_bank_address <>", value, "userBankAddress");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressGreaterThan(String value) {
            addCriterion("user_bank_address >", value, "userBankAddress");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressGreaterThanOrEqualTo(String value) {
            addCriterion("user_bank_address >=", value, "userBankAddress");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressLessThan(String value) {
            addCriterion("user_bank_address <", value, "userBankAddress");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressLessThanOrEqualTo(String value) {
            addCriterion("user_bank_address <=", value, "userBankAddress");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressLike(String value) {
            addCriterion("user_bank_address like", value, "userBankAddress");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressNotLike(String value) {
            addCriterion("user_bank_address not like", value, "userBankAddress");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressIn(List<String> values) {
            addCriterion("user_bank_address in", values, "userBankAddress");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressNotIn(List<String> values) {
            addCriterion("user_bank_address not in", values, "userBankAddress");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressBetween(String value1, String value2) {
            addCriterion("user_bank_address between", value1, value2, "userBankAddress");
            return (Criteria) this;
        }

        public Criteria andUserBankAddressNotBetween(String value1, String value2) {
            addCriterion("user_bank_address not between", value1, value2, "userBankAddress");
            return (Criteria) this;
        }
        
				
        public Criteria andUserZipIsNull() {
            addCriterion("user_zip is null");
            return (Criteria) this;
        }

        public Criteria andUserZipIsNotNull() {
            addCriterion("user_zip is not null");
            return (Criteria) this;
        }

        public Criteria andUserZipEqualTo(Integer value) {
            addCriterion("user_zip =", value, "userZip");
            return (Criteria) this;
        }

        public Criteria andUserZipNotEqualTo(Integer value) {
            addCriterion("user_zip <>", value, "userZip");
            return (Criteria) this;
        }

        public Criteria andUserZipGreaterThan(Integer value) {
            addCriterion("user_zip >", value, "userZip");
            return (Criteria) this;
        }

        public Criteria andUserZipGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_zip >=", value, "userZip");
            return (Criteria) this;
        }

        public Criteria andUserZipLessThan(Integer value) {
            addCriterion("user_zip <", value, "userZip");
            return (Criteria) this;
        }

        public Criteria andUserZipLessThanOrEqualTo(Integer value) {
            addCriterion("user_zip <=", value, "userZip");
            return (Criteria) this;
        }

        public Criteria andUserZipLike(Integer value) {
            addCriterion("user_zip like", value, "userZip");
            return (Criteria) this;
        }

        public Criteria andUserZipNotLike(Integer value) {
            addCriterion("user_zip not like", value, "userZip");
            return (Criteria) this;
        }

        public Criteria andUserZipIn(List<Integer> values) {
            addCriterion("user_zip in", values, "userZip");
            return (Criteria) this;
        }

        public Criteria andUserZipNotIn(List<Integer> values) {
            addCriterion("user_zip not in", values, "userZip");
            return (Criteria) this;
        }

        public Criteria andUserZipBetween(Integer value1, Integer value2) {
            addCriterion("user_zip between", value1, value2, "userZip");
            return (Criteria) this;
        }

        public Criteria andUserZipNotBetween(Integer value1, Integer value2) {
            addCriterion("user_zip not between", value1, value2, "userZip");
            return (Criteria) this;
        }
        
				
        public Criteria andUserWorkIsNull() {
            addCriterion("user_work is null");
            return (Criteria) this;
        }

        public Criteria andUserWorkIsNotNull() {
            addCriterion("user_work is not null");
            return (Criteria) this;
        }

        public Criteria andUserWorkEqualTo(Integer value) {
            addCriterion("user_work =", value, "userWork");
            return (Criteria) this;
        }

        public Criteria andUserWorkNotEqualTo(Integer value) {
            addCriterion("user_work <>", value, "userWork");
            return (Criteria) this;
        }

        public Criteria andUserWorkGreaterThan(Integer value) {
            addCriterion("user_work >", value, "userWork");
            return (Criteria) this;
        }

        public Criteria andUserWorkGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_work >=", value, "userWork");
            return (Criteria) this;
        }

        public Criteria andUserWorkLessThan(Integer value) {
            addCriterion("user_work <", value, "userWork");
            return (Criteria) this;
        }

        public Criteria andUserWorkLessThanOrEqualTo(Integer value) {
            addCriterion("user_work <=", value, "userWork");
            return (Criteria) this;
        }

        public Criteria andUserWorkLike(Integer value) {
            addCriterion("user_work like", value, "userWork");
            return (Criteria) this;
        }

        public Criteria andUserWorkNotLike(Integer value) {
            addCriterion("user_work not like", value, "userWork");
            return (Criteria) this;
        }

        public Criteria andUserWorkIn(List<Integer> values) {
            addCriterion("user_work in", values, "userWork");
            return (Criteria) this;
        }

        public Criteria andUserWorkNotIn(List<Integer> values) {
            addCriterion("user_work not in", values, "userWork");
            return (Criteria) this;
        }

        public Criteria andUserWorkBetween(Integer value1, Integer value2) {
            addCriterion("user_work between", value1, value2, "userWork");
            return (Criteria) this;
        }

        public Criteria andUserWorkNotBetween(Integer value1, Integer value2) {
            addCriterion("user_work not between", value1, value2, "userWork");
            return (Criteria) this;
        }
        
				
        public Criteria andUserCostIsNull() {
            addCriterion("user_cost is null");
            return (Criteria) this;
        }

        public Criteria andUserCostIsNotNull() {
            addCriterion("user_cost is not null");
            return (Criteria) this;
        }

        public Criteria andUserCostEqualTo(Integer value) {
            addCriterion("user_cost =", value, "userCost");
            return (Criteria) this;
        }

        public Criteria andUserCostNotEqualTo(Integer value) {
            addCriterion("user_cost <>", value, "userCost");
            return (Criteria) this;
        }

        public Criteria andUserCostGreaterThan(Integer value) {
            addCriterion("user_cost >", value, "userCost");
            return (Criteria) this;
        }

        public Criteria andUserCostGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_cost >=", value, "userCost");
            return (Criteria) this;
        }

        public Criteria andUserCostLessThan(Integer value) {
            addCriterion("user_cost <", value, "userCost");
            return (Criteria) this;
        }

        public Criteria andUserCostLessThanOrEqualTo(Integer value) {
            addCriterion("user_cost <=", value, "userCost");
            return (Criteria) this;
        }

        public Criteria andUserCostLike(Integer value) {
            addCriterion("user_cost like", value, "userCost");
            return (Criteria) this;
        }

        public Criteria andUserCostNotLike(Integer value) {
            addCriterion("user_cost not like", value, "userCost");
            return (Criteria) this;
        }

        public Criteria andUserCostIn(List<Integer> values) {
            addCriterion("user_cost in", values, "userCost");
            return (Criteria) this;
        }

        public Criteria andUserCostNotIn(List<Integer> values) {
            addCriterion("user_cost not in", values, "userCost");
            return (Criteria) this;
        }

        public Criteria andUserCostBetween(Integer value1, Integer value2) {
            addCriterion("user_cost between", value1, value2, "userCost");
            return (Criteria) this;
        }

        public Criteria andUserCostNotBetween(Integer value1, Integer value2) {
            addCriterion("user_cost not between", value1, value2, "userCost");
            return (Criteria) this;
        }
        
				
        public Criteria andUserConditionIsNull() {
            addCriterion("user_condition is null");
            return (Criteria) this;
        }

        public Criteria andUserConditionIsNotNull() {
            addCriterion("user_condition is not null");
            return (Criteria) this;
        }

        public Criteria andUserConditionEqualTo(Integer value) {
            addCriterion("user_condition =", value, "userCondition");
            return (Criteria) this;
        }

        public Criteria andUserConditionNotEqualTo(Integer value) {
            addCriterion("user_condition <>", value, "userCondition");
            return (Criteria) this;
        }

        public Criteria andUserConditionGreaterThan(Integer value) {
            addCriterion("user_condition >", value, "userCondition");
            return (Criteria) this;
        }

        public Criteria andUserConditionGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_condition >=", value, "userCondition");
            return (Criteria) this;
        }

        public Criteria andUserConditionLessThan(Integer value) {
            addCriterion("user_condition <", value, "userCondition");
            return (Criteria) this;
        }

        public Criteria andUserConditionLessThanOrEqualTo(Integer value) {
            addCriterion("user_condition <=", value, "userCondition");
            return (Criteria) this;
        }

        public Criteria andUserConditionLike(Integer value) {
            addCriterion("user_condition like", value, "userCondition");
            return (Criteria) this;
        }

        public Criteria andUserConditionNotLike(Integer value) {
            addCriterion("user_condition not like", value, "userCondition");
            return (Criteria) this;
        }

        public Criteria andUserConditionIn(List<Integer> values) {
            addCriterion("user_condition in", values, "userCondition");
            return (Criteria) this;
        }

        public Criteria andUserConditionNotIn(List<Integer> values) {
            addCriterion("user_condition not in", values, "userCondition");
            return (Criteria) this;
        }

        public Criteria andUserConditionBetween(Integer value1, Integer value2) {
            addCriterion("user_condition between", value1, value2, "userCondition");
            return (Criteria) this;
        }

        public Criteria andUserConditionNotBetween(Integer value1, Integer value2) {
            addCriterion("user_condition not between", value1, value2, "userCondition");
            return (Criteria) this;
        }
        
				
        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLike(Date value) {
            addCriterion("update_time like", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotLike(Date value) {
            addCriterion("update_time not like", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
        
				
        public Criteria andUserProcessIsNull() {
            addCriterion("user_process is null");
            return (Criteria) this;
        }

        public Criteria andUserProcessIsNotNull() {
            addCriterion("user_process is not null");
            return (Criteria) this;
        }

        public Criteria andUserProcessEqualTo(Integer value) {
            addCriterion("user_process =", value, "userProcess");
            return (Criteria) this;
        }

        public Criteria andUserProcessNotEqualTo(Integer value) {
            addCriterion("user_process <>", value, "userProcess");
            return (Criteria) this;
        }

        public Criteria andUserProcessGreaterThan(Integer value) {
            addCriterion("user_process >", value, "userProcess");
            return (Criteria) this;
        }

        public Criteria andUserProcessGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_process >=", value, "userProcess");
            return (Criteria) this;
        }

        public Criteria andUserProcessLessThan(Integer value) {
            addCriterion("user_process <", value, "userProcess");
            return (Criteria) this;
        }

        public Criteria andUserProcessLessThanOrEqualTo(Integer value) {
            addCriterion("user_process <=", value, "userProcess");
            return (Criteria) this;
        }

        public Criteria andUserProcessLike(Integer value) {
            addCriterion("user_process like", value, "userProcess");
            return (Criteria) this;
        }

        public Criteria andUserProcessNotLike(Integer value) {
            addCriterion("user_process not like", value, "userProcess");
            return (Criteria) this;
        }

        public Criteria andUserProcessIn(List<Integer> values) {
            addCriterion("user_process in", values, "userProcess");
            return (Criteria) this;
        }

        public Criteria andUserProcessNotIn(List<Integer> values) {
            addCriterion("user_process not in", values, "userProcess");
            return (Criteria) this;
        }

        public Criteria andUserProcessBetween(Integer value1, Integer value2) {
            addCriterion("user_process between", value1, value2, "userProcess");
            return (Criteria) this;
        }

        public Criteria andUserProcessNotBetween(Integer value1, Integer value2) {
            addCriterion("user_process not between", value1, value2, "userProcess");
            return (Criteria) this;
        }
        
				
        public Criteria andUserOfficeIsNull() {
            addCriterion("user_office is null");
            return (Criteria) this;
        }

        public Criteria andUserOfficeIsNotNull() {
            addCriterion("user_office is not null");
            return (Criteria) this;
        }

        public Criteria andUserOfficeEqualTo(String value) {
            addCriterion("user_office =", value, "userOffice");
            return (Criteria) this;
        }

        public Criteria andUserOfficeNotEqualTo(String value) {
            addCriterion("user_office <>", value, "userOffice");
            return (Criteria) this;
        }

        public Criteria andUserOfficeGreaterThan(String value) {
            addCriterion("user_office >", value, "userOffice");
            return (Criteria) this;
        }

        public Criteria andUserOfficeGreaterThanOrEqualTo(String value) {
            addCriterion("user_office >=", value, "userOffice");
            return (Criteria) this;
        }

        public Criteria andUserOfficeLessThan(String value) {
            addCriterion("user_office <", value, "userOffice");
            return (Criteria) this;
        }

        public Criteria andUserOfficeLessThanOrEqualTo(String value) {
            addCriterion("user_office <=", value, "userOffice");
            return (Criteria) this;
        }

        public Criteria andUserOfficeLike(String value) {
            addCriterion("user_office like", value, "userOffice");
            return (Criteria) this;
        }

        public Criteria andUserOfficeNotLike(String value) {
            addCriterion("user_office not like", value, "userOffice");
            return (Criteria) this;
        }

        public Criteria andUserOfficeIn(List<String> values) {
            addCriterion("user_office in", values, "userOffice");
            return (Criteria) this;
        }

        public Criteria andUserOfficeNotIn(List<String> values) {
            addCriterion("user_office not in", values, "userOffice");
            return (Criteria) this;
        }

        public Criteria andUserOfficeBetween(String value1, String value2) {
            addCriterion("user_office between", value1, value2, "userOffice");
            return (Criteria) this;
        }

        public Criteria andUserOfficeNotBetween(String value1, String value2) {
            addCriterion("user_office not between", value1, value2, "userOffice");
            return (Criteria) this;
        }
        
				
        public Criteria andDeptNameIsNull() {
            addCriterion("dept_name is null");
            return (Criteria) this;
        }

        public Criteria andDeptNameIsNotNull() {
            addCriterion("dept_name is not null");
            return (Criteria) this;
        }

        public Criteria andDeptNameEqualTo(String value) {
            addCriterion("dept_name =", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotEqualTo(String value) {
            addCriterion("dept_name <>", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameGreaterThan(String value) {
            addCriterion("dept_name >", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameGreaterThanOrEqualTo(String value) {
            addCriterion("dept_name >=", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLessThan(String value) {
            addCriterion("dept_name <", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLessThanOrEqualTo(String value) {
            addCriterion("dept_name <=", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameLike(String value) {
            addCriterion("dept_name like", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotLike(String value) {
            addCriterion("dept_name not like", value, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameIn(List<String> values) {
            addCriterion("dept_name in", values, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotIn(List<String> values) {
            addCriterion("dept_name not in", values, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameBetween(String value1, String value2) {
            addCriterion("dept_name between", value1, value2, "deptName");
            return (Criteria) this;
        }

        public Criteria andDeptNameNotBetween(String value1, String value2) {
            addCriterion("dept_name not between", value1, value2, "deptName");
            return (Criteria) this;
        }
        
			
		 public Criteria andLikeQuery(SysUser record) {
		 	List<String> list= new ArrayList<String>();
		 	List<String> list2= new ArrayList<String>();
        	StringBuffer buffer=new StringBuffer();
			if(record.getId()!=null&&StrUtil.isNotEmpty(record.getId().toString())) {
    			 list.add("ifnull(id,'')");
    		}
			if(record.getUsername()!=null&&StrUtil.isNotEmpty(record.getUsername().toString())) {
    			 list.add("ifnull(username,'')");
    		}
			if(record.getPassword()!=null&&StrUtil.isNotEmpty(record.getPassword().toString())) {
    			 list.add("ifnull(password,'')");
    		}
			if(record.getNickname()!=null&&StrUtil.isNotEmpty(record.getNickname().toString())) {
    			 list.add("ifnull(nickname,'')");
    		}
			if(record.getDepId()!=null&&StrUtil.isNotEmpty(record.getDepId().toString())) {
    			 list.add("ifnull(dep_id,'')");
    		}
			if(record.getPosId()!=null&&StrUtil.isNotEmpty(record.getPosId().toString())) {
    			 list.add("ifnull(pos_id,'')");
    		}
			if(record.getUserNation()!=null&&StrUtil.isNotEmpty(record.getUserNation().toString())) {
    			 list.add("ifnull(user_nation,'')");
    		}
			if(record.getUserSex()!=null&&StrUtil.isNotEmpty(record.getUserSex().toString())) {
    			 list.add("ifnull(user_sex,'')");
    		}
			if(record.getUserBirth()!=null&&StrUtil.isNotEmpty(record.getUserBirth().toString())) {
    			 list.add("ifnull(user_birth,'')");
    		}
			if(record.getUserType()!=null&&StrUtil.isNotEmpty(record.getUserType().toString())) {
    			 list.add("ifnull(user_type,'')");
    		}
			if(record.getUserTitle()!=null&&StrUtil.isNotEmpty(record.getUserTitle().toString())) {
    			 list.add("ifnull(user_title,'')");
    		}
			if(record.getUserExpertise()!=null&&StrUtil.isNotEmpty(record.getUserExpertise().toString())) {
    			 list.add("ifnull(user_expertise,'')");
    		}
			if(record.getUserEducation()!=null&&StrUtil.isNotEmpty(record.getUserEducation().toString())) {
    			 list.add("ifnull(user_education,'')");
    		}
			if(record.getUserAcademicDegree()!=null&&StrUtil.isNotEmpty(record.getUserAcademicDegree().toString())) {
    			 list.add("ifnull(user_academic_degree,'')");
    		}
			if(record.getUserAddress()!=null&&StrUtil.isNotEmpty(record.getUserAddress().toString())) {
    			 list.add("ifnull(user_address,'')");
    		}
			if(record.getUserPhone()!=null&&StrUtil.isNotEmpty(record.getUserPhone().toString())) {
    			 list.add("ifnull(user_phone,'')");
    		}
			if(record.getUserBankCard()!=null&&StrUtil.isNotEmpty(record.getUserBankCard().toString())) {
    			 list.add("ifnull(user_bank_card,'')");
    		}
			if(record.getUserBankAddress()!=null&&StrUtil.isNotEmpty(record.getUserBankAddress().toString())) {
    			 list.add("ifnull(user_bank_address,'')");
    		}
			if(record.getUserZip()!=null&&StrUtil.isNotEmpty(record.getUserZip().toString())) {
    			 list.add("ifnull(user_zip,'')");
    		}
			if(record.getUserWork()!=null&&StrUtil.isNotEmpty(record.getUserWork().toString())) {
    			 list.add("ifnull(user_work,'')");
    		}
			if(record.getUserCost()!=null&&StrUtil.isNotEmpty(record.getUserCost().toString())) {
    			 list.add("ifnull(user_cost,'')");
    		}
			if(record.getUserCondition()!=null&&StrUtil.isNotEmpty(record.getUserCondition().toString())) {
    			 list.add("ifnull(user_condition,'')");
    		}
			if(record.getUpdateTime()!=null&&StrUtil.isNotEmpty(record.getUpdateTime().toString())) {
    			 list.add("ifnull(update_time,'')");
    		}
			if(record.getUserProcess()!=null&&StrUtil.isNotEmpty(record.getUserProcess().toString())) {
    			 list.add("ifnull(user_process,'')");
    		}
			if(record.getUserOffice()!=null&&StrUtil.isNotEmpty(record.getUserOffice().toString())) {
    			 list.add("ifnull(user_office,'')");
    		}
			if(record.getDeptName()!=null&&StrUtil.isNotEmpty(record.getDeptName().toString())) {
    			 list.add("ifnull(dept_name,'')");
    		}
			if(record.getId()!=null&&StrUtil.isNotEmpty(record.getId().toString())) {
    			list2.add("'%"+record.getId()+"%'");
    		}
			if(record.getUsername()!=null&&StrUtil.isNotEmpty(record.getUsername().toString())) {
    			list2.add("'%"+record.getUsername()+"%'");
    		}
			if(record.getPassword()!=null&&StrUtil.isNotEmpty(record.getPassword().toString())) {
    			list2.add("'%"+record.getPassword()+"%'");
    		}
			if(record.getNickname()!=null&&StrUtil.isNotEmpty(record.getNickname().toString())) {
    			list2.add("'%"+record.getNickname()+"%'");
    		}
			if(record.getDepId()!=null&&StrUtil.isNotEmpty(record.getDepId().toString())) {
    			list2.add("'%"+record.getDepId()+"%'");
    		}
			if(record.getPosId()!=null&&StrUtil.isNotEmpty(record.getPosId().toString())) {
    			list2.add("'%"+record.getPosId()+"%'");
    		}
			if(record.getUserNation()!=null&&StrUtil.isNotEmpty(record.getUserNation().toString())) {
    			list2.add("'%"+record.getUserNation()+"%'");
    		}
			if(record.getUserSex()!=null&&StrUtil.isNotEmpty(record.getUserSex().toString())) {
    			list2.add("'%"+record.getUserSex()+"%'");
    		}
			if(record.getUserBirth()!=null&&StrUtil.isNotEmpty(record.getUserBirth().toString())) {
    			list2.add("'%"+record.getUserBirth()+"%'");
    		}
			if(record.getUserType()!=null&&StrUtil.isNotEmpty(record.getUserType().toString())) {
    			list2.add("'%"+record.getUserType()+"%'");
    		}
			if(record.getUserTitle()!=null&&StrUtil.isNotEmpty(record.getUserTitle().toString())) {
    			list2.add("'%"+record.getUserTitle()+"%'");
    		}
			if(record.getUserExpertise()!=null&&StrUtil.isNotEmpty(record.getUserExpertise().toString())) {
    			list2.add("'%"+record.getUserExpertise()+"%'");
    		}
			if(record.getUserEducation()!=null&&StrUtil.isNotEmpty(record.getUserEducation().toString())) {
    			list2.add("'%"+record.getUserEducation()+"%'");
    		}
			if(record.getUserAcademicDegree()!=null&&StrUtil.isNotEmpty(record.getUserAcademicDegree().toString())) {
    			list2.add("'%"+record.getUserAcademicDegree()+"%'");
    		}
			if(record.getUserAddress()!=null&&StrUtil.isNotEmpty(record.getUserAddress().toString())) {
    			list2.add("'%"+record.getUserAddress()+"%'");
    		}
			if(record.getUserPhone()!=null&&StrUtil.isNotEmpty(record.getUserPhone().toString())) {
    			list2.add("'%"+record.getUserPhone()+"%'");
    		}
			if(record.getUserBankCard()!=null&&StrUtil.isNotEmpty(record.getUserBankCard().toString())) {
    			list2.add("'%"+record.getUserBankCard()+"%'");
    		}
			if(record.getUserBankAddress()!=null&&StrUtil.isNotEmpty(record.getUserBankAddress().toString())) {
    			list2.add("'%"+record.getUserBankAddress()+"%'");
    		}
			if(record.getUserZip()!=null&&StrUtil.isNotEmpty(record.getUserZip().toString())) {
    			list2.add("'%"+record.getUserZip()+"%'");
    		}
			if(record.getUserWork()!=null&&StrUtil.isNotEmpty(record.getUserWork().toString())) {
    			list2.add("'%"+record.getUserWork()+"%'");
    		}
			if(record.getUserCost()!=null&&StrUtil.isNotEmpty(record.getUserCost().toString())) {
    			list2.add("'%"+record.getUserCost()+"%'");
    		}
			if(record.getUserCondition()!=null&&StrUtil.isNotEmpty(record.getUserCondition().toString())) {
    			list2.add("'%"+record.getUserCondition()+"%'");
    		}
			if(record.getUpdateTime()!=null&&StrUtil.isNotEmpty(record.getUpdateTime().toString())) {
    			list2.add("'%"+record.getUpdateTime()+"%'");
    		}
			if(record.getUserProcess()!=null&&StrUtil.isNotEmpty(record.getUserProcess().toString())) {
    			list2.add("'%"+record.getUserProcess()+"%'");
    		}
			if(record.getUserOffice()!=null&&StrUtil.isNotEmpty(record.getUserOffice().toString())) {
    			list2.add("'%"+record.getUserOffice()+"%'");
    		}
			if(record.getDeptName()!=null&&StrUtil.isNotEmpty(record.getDeptName().toString())) {
    			list2.add("'%"+record.getDeptName()+"%'");
    		}
        	buffer.append(" CONCAT(");
	        buffer.append(StrUtil.join(",",list));
        	buffer.append(")");
        	buffer.append(" like CONCAT(");
        	buffer.append(StrUtil.join(",",list2));
        	buffer.append(")");
        	if(!" CONCAT() like CONCAT()".equals(buffer.toString())) {
        		addCriterion(buffer.toString());
        	}
        	return (Criteria) this;
        }
        
        public Criteria andLikeQuery2(String searchText) {
		 	List<String> list= new ArrayList<String>();
        	StringBuffer buffer=new StringBuffer();
    		list.add("ifnull(id,'')");
    		list.add("ifnull(username,'')");
    		list.add("ifnull(password,'')");
    		list.add("ifnull(nickname,'')");
    		list.add("ifnull(dep_id,'')");
    		list.add("ifnull(pos_id,'')");
    		list.add("ifnull(user_nation,'')");
    		list.add("ifnull(user_sex,'')");
    		list.add("ifnull(user_birth,'')");
    		list.add("ifnull(user_type,'')");
    		list.add("ifnull(user_title,'')");
    		list.add("ifnull(user_expertise,'')");
    		list.add("ifnull(user_education,'')");
    		list.add("ifnull(user_academic_degree,'')");
    		list.add("ifnull(user_address,'')");
    		list.add("ifnull(user_phone,'')");
    		list.add("ifnull(user_bank_card,'')");
    		list.add("ifnull(user_bank_address,'')");
    		list.add("ifnull(user_zip,'')");
    		list.add("ifnull(user_work,'')");
    		list.add("ifnull(user_cost,'')");
    		list.add("ifnull(user_condition,'')");
    		list.add("ifnull(update_time,'')");
    		list.add("ifnull(user_process,'')");
    		list.add("ifnull(user_office,'')");
    		list.add("ifnull(dept_name,'')");
        	buffer.append(" CONCAT(");
	        buffer.append(StrUtil.join(",",list));
        	buffer.append(")");
        	buffer.append("like '%");
        	buffer.append(searchText);
        	buffer.append("%'");
        	addCriterion(buffer.toString());
        	return (Criteria) this;
        }
        
}
	
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}